home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / ICProgKit1.0 / APIs / ICKeys.p < prev    next >
Text File  |  1994-12-03  |  6KB  |  158 lines

  1. unit ICKeys;
  2.  
  3. interface
  4.  
  5.     uses
  6. {$ifc undefined THINK_Pascal}
  7.         Types, Files, 
  8. {$endc}
  9.         AppleTalk, Aliases;
  10.  
  11. const
  12.     kICRealName='RealName';    (* PString *)
  13.     kICEmail='Email';    (* PString -- user@host.domain *)
  14.     kICMailAccount='MailAccount';    (* PString -- user@host.domain *)
  15.     kICMailPassword='MailPassword';    (* PString -- scrambled *)
  16.     kICNewsAuthUsername='NewsAuthUsername';    (* PString -- host.domain *)
  17.     kICNewsAuthPassword='NewsAuthPassword';    (* PString -- scrambled *)
  18.     kICArchiePreferred='ArchiePreferred';    (* PString -- formatted *)
  19.     kICArchieAll='ArchieAll';    (* STR# -- formatted *)
  20.     kICUMichPreferred='UMichPreferred';    (* PString -- formatted *)
  21.     kICUMichAll='UMichAll';    (* STR# -- formatted *)
  22.     kICInfoMacPreferred='InfoMacPreferred';    (* PString -- formatted *)
  23.     kICInfoMacAll='InfoMacAll';    (* STR# -- formatted *)
  24.     kICPhHost='PhHost';    (* PString -- host.domain *)
  25.     kICWhoisHost='WhoisHost';    (* PString -- host.domain *)
  26.     kICFingerHost='FingerHost';    (* PString -- host.domain *)
  27.     kICFTPHost='FTPHost';    (* PString -- host.domain *)
  28.     kICTelnetHost='TelnetHost';    (* PString -- host.domain *)
  29.     kICSMTPHost='SMTPHost';    (* PString -- host.domain *)
  30.     kICNNTPHost='NNTPHost';    (* PString -- host.domain *)
  31.     kICGopherHost='GopherHost';    (* PString -- host.domain *)
  32.     kICLDAPServer='LDAPServer';    (* PString -- host.domain *)
  33.     kICLDAPSearchbase='LDAPSearchbase';    (* PString -- string LDAP thing *)
  34.     kICWWWHomePage='WWWHomePage';    (* PString -- URL *)
  35.     kICWAISGateway='WAISGateway';    (* PString -- no idea *)
  36.     kICScreenFont='ScreenFont';    (* ICFontRecord *)
  37.     kICPrinterFont='PrinterFont';    (* ICFontRecord *)
  38.     kICTextCreator='TextCreator';    (* ICAppSpec *)
  39.     kICBinaryTypeCreator='BinaryTypeCreator';    (* ICFileInfo *)
  40.     kICDownloadFolder='DownloadFolder';    (* ICFileSpec *)
  41.     kICSignature='Signature';    (* TEXT *)
  42.     kICOrganization='Organization';    (* PString *)
  43.     kICPlan='Plan';    (* TEXT *)
  44.     kICQuotingString='QuotingString';    (* PString *)
  45.     kICMailHeaders='MailHeaders';    (* TEXT *)
  46.     kICNewsHeaders='NewsHeaders';    (* TEXT *)
  47.     kICMapping='Mapping';    (* ICMapEntries *)
  48.     kICCharacterSet='CharacterSet';    (* ICCharTable *)
  49.     kICHelper='Helper•';    (* ICAppSpec *)
  50.     kICServices='Services';    (* ICServices *)
  51.  
  52.     type
  53.         ICFontRecord = record
  54.                 size: integer;
  55.                 face: Style;
  56.                 font: Str255;
  57.             end;
  58.         ICFontRecordPtr = ^ICFontRecord;
  59.         ICFontRecordHandle = ^ICFontRecordPtr;
  60.  
  61.         ICCharTable = record
  62.                 net_to_mac: packed array[char] of char;
  63.                 mac_to_net: packed array[char] of char;
  64.             end;
  65.         ICCharTablePtr = ^ICCharTable;
  66.         ICCharTableHandle = ^ICCharTablePtr;
  67.  
  68.         ICAppSpec = record
  69.                 fCreator: OSType;
  70.                 name: Str63;
  71.             end;
  72.         ICAppSpecPtr = ^ICAppSpec;
  73.         ICAppSpecHandle = ^ICAppSpecPtr;
  74.  
  75.         ICFileInfo = record
  76.                 fType: OSType;
  77.                 fCreator: OSType;
  78.                 name: Str63;
  79.             end;
  80.         ICFileInfoPtr = ^ICFileInfo;
  81.         ICFileInfoHandle = ^ICFileInfoPtr;
  82.  
  83.         ICFileSpec = record
  84.                 vol_name: Str31;
  85.                 vol_creation_date: longint;
  86.                 fss: FSSpec;                    (* vRefNum field is of no value *)
  87.                 alias: AliasRecord;     (* plus extra data, aliasSize 0 means no alias manager present when ICFileSpecification was created *)
  88.             end;
  89.         ICFileSpecPtr = ^ICFileSpec;
  90.         ICFileSpecHandle = ^ICFileSpecPtr;
  91.     const
  92.         ICfile_spec_header_size = sizeof(ICFileSpec) - sizeof(AliasRecord);
  93.  
  94.     type
  95.         ICMapEntry = record
  96.                 total_length: integer;            (* from beginning of record *)
  97.                 fixed_length: integer;            (* from beginning of record *)
  98.                 version: integer;
  99.                 file_type: OSType;
  100.                 file_creator: OSType;
  101.                 post_creator : OSType;
  102.                 flags: longint;
  103.                 (* variable part starts here *)
  104.                 extension: Str255;                    (* these strings are tightly packed *)
  105.                 creator_app_name: Str255;        (* which means, these ones might have an *)
  106.                 post_app_name : Str255;            (* odd address *)
  107.                 MIME_type: Str255;                    
  108.                 entry_name: Str255;
  109.             end;
  110.         ICMapEntryPtr = ^ICMapEntry;
  111.         ICMapEntryHandle = ^ICMapEntryPtr;
  112.  
  113.     const
  114.         (* bits and masks for the flags of the ICMapEntry *)
  115.         ICmap_binary_bit = 0;                    (* file should be transfered in binary as opposed to text mode *)
  116.         ICmap_binary_mask = $00000001;
  117.         ICmap_resource_fork_bit = 1;        (* the resource fork of the file is significant *)
  118.         ICmap_resource_fork_mask = $00000002;
  119.         ICmap_data_fork_bit = 2;                (* the data fork of the file is significant *)
  120.         ICmap_data_fork_mask = $00000004;
  121.  
  122.         ICmap_post_bit = 3;                            (* post process using post fields *)
  123.         ICmap_post_mask = $00000008;
  124.  
  125.         ICmap_not_incoming_bit = 4;            (* ignore this mapping for incoming files *)
  126.         ICmap_not_incoming_mask = $00000010;
  127.         ICmap_not_outgoing_bit = 5;            (* ignore this mapping for outgoing files *)
  128.         ICmap_not_outgoing_mask = $00000020;
  129.  
  130.         ICmap_fixed_length = 22;                (* number in fixed_length field *)
  131.         
  132.     type
  133.         ICServiceEntry = record
  134.                 name: Str255;                        (* this strings is tightly packed *)
  135.                 port: integer;                        (* which means, these fields might have an *)
  136.                 flags: integer;                        (* odd address *)
  137.             end;
  138.         ICServiceEntryPtr = ^ICServiceEntry;
  139.         ICServiceEntryHandle = ICServiceEntryPtr;
  140.  
  141.         ICServices = record
  142.                 count: integer;
  143.                 services: array[1..1] of ICServiceEntry;        (* this array is packed, so you can't index it directly *)
  144.             end;
  145.         ICServicesPtr = ^ICServices;
  146.         ICServicesHandle = ^ICServicesPtr;
  147.  
  148.     const
  149.         (* bits and masks for the flags of the ICServiceEntry *)
  150.         ICservices_tcp_bit = 0;                (* this is a TCP service *)
  151.         ICservices_tcp_mask = $00000001;
  152.         ICservices_udp_bit = 1;                (* this is a UDP service *)
  153.         ICservices_udp_mask = $00000002;
  154.         (* both bits can be set, which means the service is both TCP and UDP, eg daytime *)
  155.  
  156. implementation
  157.  
  158. end. (* ICKeys *)